package cn.com.aiton.common.model.guard;

import cn.com.aiton.common.model.BaseDomain;

import java.util.Date;
import java.util.List;

/**
 * 警卫任务预案
 * 实体对象，主要用于定义警卫任务预案。
 * 启动预案后，车辆行使到相应路口。信号机会进行相位锁定，并进行放行
 */
public class RouteGuardDomain extends BaseDomain {
    //有效性 1为有效    0 为无效
    private Integer validity;
    //启动控制  1 为有效     0 为无效
    private Integer control;
    //开始时间，用于提示值班人员
    private Date startTime;
    //结束时间，用于提示值班人员
    private Date endTime;
    //信号机列表，以“，”分割的一个字符串，请用StringUtils进行操作
    private List<RouteGuardSignalNodeDomain> nodes;

    public RouteGuardDomain(Integer validity, Integer control, Date startTime, Date endTime, List<RouteGuardSignalNodeDomain> nodes) {
        this.validity = validity;
        this.control = control;
        this.startTime = startTime;
        this.endTime = endTime;
        this.nodes = nodes;
    }

    public RouteGuardDomain(Integer validity, Integer control, Date startTime, Date endTime) {
        this.validity = validity;
        this.control = control;
        this.startTime = startTime;
        this.endTime = endTime;
    }

    public RouteGuardDomain() {
    }

    @Override
    public String toString() {
        return "RouteGuardDomain{" +
                "validity=" + validity +
                ", control=" + control +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", nodes=" + nodes +
                '}';
    }

    public Integer getValidity() {
        return validity;
    }

    public void setValidity(Integer validity) {
        this.validity = validity;
    }

    public Integer getControl() {
        return control;
    }

    public void setControl(Integer control) {
        this.control = control;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public List<RouteGuardSignalNodeDomain> getNodes() {
        return nodes;
    }

    public void setNodes(List<RouteGuardSignalNodeDomain> nodes) {
        this.nodes = nodes;
    }
}
